import base from './baseApi'
import Tips from 'Utils/tips'
import Vm from '../main'
import axios from 'axios'
/**
 * 授权
 */
export default class auth extends base {
    // 获得初始化信息
    static async getInit() {
        // 赋值 商铺id, 微页面id
        Vm.$store.state.common.extConfig.storeId = Vm.$route.params.storeId
        Vm.$store.state.common.wid = Vm.$route.params.wid
        
        try {
            Tips.loading()
                // axios拦截器 取到状态码
            var HttpCode = Number
            axios.interceptors.response.use(response => {
                HttpCode = response.status
                return response // 必须要返回
            })

            let data = 'code=011ZhXUD0ifS9l2AV8UD0XcbVD0ZhXUe'
            // let data = {
            //     code: '011ZhXUD0ifS9l2AV8UD0XcbVD0ZhXUe'
            // }
            let res = await this.postForm('vshop', 'Login/WxaConfig', data)

            if (!res.Next) {
                return 'stop' // 判断有禁止指令就结束初始化
            }

            if (HttpCode == 200) {
                // 非零处理
                if (res.Code != 0) {
                    Tips.loaded()
                    switch (res.Code) {
                        case 50002:
                            Tips.alert(res.Msg, "加载异常");
                            break;
                        case 50003:
                            Tips.alert(res.Msg, "加载异常");
                            break;
                        case 50004:
                            Tips.alert(res.Msg, "加载异常");
                            break;
                        case 50005: // code已经被使用
                            Tips.alert(res.Msg, "code已经被使用");
                            break;
                        default:
                            // 服务不可用，请稍后重试
                            // 跳转到505页面    /pages/error/index?type=505
                            Vm.$router.push({ path: '/error/type=505' })
                    }
                    return 'faild'
                }
                // 赋值和令牌处理云云
                // Vm.$store.state.common.jwtToken = res.Data.JwtToken // 令牌
                Vm.$store.state.common.AmapKey = res.Data.AmapKey
                Vm.$store.state.common.CdnUrl = res.Data.CdnUrl
                Vm.$store.state.common.LogoWidth = res.Data.LogoWidth
                Vm.$store.state.common.LogoHeight = res.Data.LogoHeight
                Vm.$store.state.common.NickName = res.Data.NickName
                Vm.$store.state.common.StoreColorConfig = res.Data.StoreColorConfig // 主题颜色
                Vm.$store.state.common.StoreInfo = res.Data.StoreInfo // 店铺信息
                Vm.$store.state.common.TabBar = res.Data.TabBar // 底部栏信息
                return "ok"
            } else {
                Vm.$store.state.common.initFail = true // 初始化失败
                Tips.loaded()
                    // /pages/error/index?type=' + HttpCode
                    // Vm.$router.push({ path: `/error/:${HttpCode}` })
                return 'faild'
            }
        } catch (err) {
            Vm.$store.state.common.initFail = true // 初始化失败
            Tips.loaded();
            if (err.errMsg == "request:fail url not in domain list") {
                Vm.$router.push({ path: '/pages/error/index?type=501' });
            } else if (err.errMsg == "login:fail getaddrinfo ENOENT servicewechat.com:443") {
                Vm.$router.push({ path: '/pages/error/index?type=506' });
            } else {
                Vm.$router.push({ path: '/pages/error/index?type=505' });
            }
            return 'faild';
        }
    }
}